package dziennik.classes;
import dziennik.classes.*;

import javax.mail.*;
import javax.mail.internet.*;
import java.io.UnsupportedEncodingException;
import java.util.*;


/**
 * 
 * <p>
 * Klasa wysylajaca e-maile
 * </p>
 * 
 * @author Elwira Kowalewska
 *
 */
public class WysylanieEmaila
{
	/**
	 * wysylanie emaila do rodzica
	 * 
	 * @param imienazwisko - imie i nazwisko ucznia, ktorego oceny bedzie sie odczytywalo po zalogowaniu
	 * @param login	- login rodzica
	 * @param haslo - haslo rodzica
	 * @param email - adres email rodzica, na ktory wyslac wiadomosc o generacji hasla i loginu
	 * 
	 * @author Elwira Kowalewska
	 */
	public void wyslij_maila(String imienazwisko, String login, String haslo, String email)
	{
		try
		{
			String host = "smtp.gmail.com";
			String username = "mojdziennik123";
			String password = "1q2w3e4rasdf";
			
			Properties props = new Properties();
			props.put("mail.smtps.auth", "true");
			
			//Session session = Session.getDefaultInstance(props, new GMailAuthenticator(username+"@gmail.com", password));
                        Session session = Session.getInstance(props, new GMailAuthenticator(username+"@gmail.com", password));
			
			MimeMessage msg = new MimeMessage(session);
			
			msg.setSubject("Dane do logowania");
			msg.setFrom(new InternetAddress("mojdziennik123@gmail.com", "Mój Dziennik"));
			msg.setContent(
					"Dzień dobry!<br><br> Przesyłamy dane do logowania na konto rodzica dla ucznia: <b>"+imienazwisko+"</b><br><br>"+
					"Login: <b>"+login+"</b><br>"+
					"Hasło: <b>"+haslo+"</b><br><br>"+
					"Dziękujemy za korzystanie z programu!",
					"text/html; charset=ISO-8859-2");
			msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
			
			Transport t = session.getTransport("smtps");
			
			try
			{
				t.connect(host, username, password);
				t.sendMessage(msg, msg.getAllRecipients());
			}
			finally
			{
				t.close();
			}
		}
		catch (NoSuchProviderException e)
		{
			e.printStackTrace();
		}
		catch (MessagingException e)
		{
			e.printStackTrace();
		}
		catch (UnsupportedEncodingException e)
		{
			e.printStackTrace();
		}
	}
	
	
	
	class GMailAuthenticator extends Authenticator
	{
		String user;
		String pw;
		    
		public GMailAuthenticator (String username, String password)
		{
			super();
			this.user = username;
			this.pw = password;
		}
		  
		public PasswordAuthentication getPasswordAuthentication()
		{
			return new PasswordAuthentication(user, pw);
		}
	}
	
	
	
	public static void main(String[] args)
	{
		WysylanieEmaila we = new WysylanieEmaila();
		we.wyslij_maila("J�zio Ciemi�ca", "login123", "haslo234", "erwilka@gmail.com");
	}
}
